CNC Beispiel 07: Ausdrücke und Unterprogramme verwenden
Sehen Sie hierzu das Beispielprojekt CNC07_Subprogram.project
im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples
.
Dieses Beispiel zeigt den Aufruf eines Unterprogramms aus einer CNC-Datei sowie die Verwendung von Ausdrücken in CNC-Fahrbefehlen.
In dem Programm CNC
werden zunächst, wie bei den anderen Beispielen auch, die Antriebe eingeschaltet. Das Programm CNC_PreparePath
verwendet den Funktionsbaustein SMC_ReadNCFile2
zum Einlesen der CNC-Datei. SMC_ReadNCFile2
ersetzt den Baustein SMC_ReadNCFile
und erweitert ihn um die Unterstützung für Unterprogramme und Ausdrücke.
Mit dem Funktionsbaustein SMC_NCInterpreter
wird das CNC-Programm CNC2Main.cnc
konvertiert. SMC_NCInterpreter
ersetzt den Baustein SMC_NCDecoder
und erweitert ihn um die Unterstützung für Unterprogramme und Ausdrücke.
Das Projekt enthält zwei CNC-Programme: Das Hauptprogramm CNC2Main.cnc
und das Unterprogramm CNC2.cnc
. Das Hauptprogramm übergibt den Wert 25
im Parameter #RADIUS
an das Unterprogramm. Im Unterprogramm wird der Ausdruck X#RADIUS*2
für die Berechnung der Kreisbahn verwendet.
Hauptprogramm
N0 G01 X$g_x$ Y0 F50 E30 E-30 N10 G01 X0 Y$g_y$ N20 CNC2{25} N30 G01 X0 Y-200
Unterprogramm
SUBPROGRAM CNC2{#RADIUS : LREAL} N010 G91 N020 G02 X#RADIUS*2 Y0 R#RADIUS Z2.5 F100 E-100 E100 N030 G02 X-#RADIUS*2 Y0 R#RADIUS Z7.5 END_SUBPROGRAM